SARSA 名字說明了這個學習的更新方式
就是根據當前狀態、選擇的動作、獲得的獎勵、下一個狀態以及下一個動作
SARSA 的目標是學習一個策略,以最大化長期回報
跟 Q 學習不同的是,SARSA 使用五元組(st, at, rt, st+1, at+1)來更新Q 值
s 、 a 、 r 分別為狀態、動作和即時獎勵, t 和 t+1 分別表示當前和下一步
學習率( Alpha )
學習率代表了新獲得的資訊對於取代舊資訊的影響程度
當 Alpha 為 0 ,代理不會學習學習新資訊
當 Alpha 為 1 ,代理只考慮最新的資訊
折扣因子( Gamma )
折扣因子影響未來獎勵的重要性
當 Gamma 為 0 ,代理只關注當前瞬間的獎勵
當 Gamma 接近 1 ,代理更加注重長期回報,就算需要等待未來較高的獎勵
如果 Gamma 達到或超過 1 ,則 Q 值可能會出現不穩定的情況(發散)
初始條件(Q( s0 , a0 ))
SARSA 是一種反覆運算的演算法,因此在首次進行更新之前,預設了一個起始情況
這種低值(甚至是負無限大)的初始情況通常被稱為「樂觀的起始條件」,它鼓勵代理進行探索
不論代理選擇採取哪種行動,更新規則都會導致該行動的 Q 值高於其他可能的選擇,來提高了這些行動被選擇的可能性
https://www.wpgdadatong.com/blog/detail/42832
https://cloud.tencent.com/developer/article/2309442
https://www.jiqizhixin.com/graph/technologies/284cb9a8-bdf4-40e7-bd06-1c6b83a2e0e8
https://paddlepedia.readthedocs.io/en/latest/tutorials/reinforcement_learning/Sarsa.html